Next: GNUstep Support, Previous: Mac / GNUstep Customization, Up: Mac OS / GNUstep [Contents][Index]
Nextstep applications receive a number of special events which have no X equivalent. These are sent as specially defined key events, which do not correspond to any sequence of keystrokes. Under Emacs, these key events can be bound to functions just like ordinary keystrokes. Here is a list of these events.
This event occurs when another Nextstep application
requests that Emacs open a file. A typical reason for this
would be a user double-clicking a file in the Finder
application. By default, Emacs responds to this event by
opening a new frame and visiting the file in that frame
(ns-find-file). As an exception, if the selected
buffer is the *scratch* buffer, Emacs visits the
file in the selected frame.
You can change how Emacs responds to a
ns-open-file event by changing the variable
ns-pop-up-frames. Its default value,
‘fresh’, is what we have just
described. A value of t means to always visit
the file in a new frame. A value of nil means to
always visit the file in an existing frame.
This event occurs when another application requests that
Emacs open a temporary file. By default, this is handled by
just generating a ns-open-file event, the
results of which are described above.
Some applications, such as ProjectBuilder and gdb, request
not only a particular file, but also a particular line or
sequence of lines in the file. Emacs handles this by visiting
that file and highlighting the requested line
(ns-open-file-select-line).
This event occurs when a user drags files from another
application into an Emacs frame. The default behavior is to
insert the contents of all the dragged files into the current
buffer (ns-insert-files). The list of dragged
files is stored in the variable
ns-input-file.
This event occurs when a user drags a color from the color
well (or some other source) into an Emacs frame. The default
behavior is to alter the foreground color of the area the
color was dragged onto
(ns-set-foreground-at-mouse). If this event is
issued with a Shift modifier, Emacs
changes the background color instead
(ns-set-background-at-mouse). The name of the
dragged color is stored in the variable
ns-input-color.
This event occurs when the user selects a font in a
Nextstep font panel (which can be opened with
Cmd-t). The default behavior is to adjust the font
of the selected frame
(ns-respond-to-changefont). The name and size of
the selected font are stored in the variables
ns-input-font and
ns-input-fontsize, respectively.
This event occurs when the user logs out and Emacs is still running, or when “Quit Emacs” is chosen from the application menu. The default behavior is to save all file-visiting buffers.
Emacs also allows users to make use of Nextstep services, via
a set of commands whose names begin with
‘ns-service-’ and end with the name of
the service. Type M-x ns-service-TAB to see a list of these commands. These
functions either operate on marked text (replacing it with the
result) or take a string argument and return the result as a
string. You can also use the Lisp function
ns-perform-service to pass arbitrary strings to
arbitrary services and receive the results back. Note that you
may need to restart Emacs to access newly-available services.
Next: GNUstep Support, Previous: Mac / GNUstep Customization, Up: Mac OS / GNUstep [Contents][Index]